package com.itheima.day13.thread.test13;

//        - 消费者类(Foodie)：实现Runnable接口，重写run()方法，设置线程任务
//        1.判断是否有包子,决定当前线程是否执行
//        2.如果没有包子,就进入等待状态,如果有包子,就消费包子
//        3.消费包子后,更新桌子上包子状态,唤醒生产者生产包子
public class Foodie implements Runnable  {

    @Override
    public void run() {
        while(true){
            synchronized(Desk.obj){
                // 判断包子是否吃完10个
                if(Desk.count == 0){
                    break;
                }
                if(!Desk.boo){
                    // 桌子上没有包子
                    Desk.obj.notifyAll();
                    try {
                        Desk.obj.wait();
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }
                }else{
                    // 桌子上有包子
                    Desk.count--;
                    System.out.println("正在吃包子");
                    Desk.boo = false;
                }
            }
        }
    }
}
